#!/usr/bin/evn python
# -*- coding: utf-8 -*-
"""
-------------------------------------------------
   文件名称 :     event
   文件功能描述 :   功能描述
   创建人 :       小钟同学
   创建时间 :          2021/12/23
-------------------------------------------------
   修改描述-2021/12/23:

-------------------------------------------------
"""

from afast_core.core_libs.evnets_pcb import NameEventspace, NamedEvent

# Namespace()-里面的一个方法signal--用于注册事件名称，存如到字典里面
# 默认存贮的是：NamedSignal--->Signal

if __name__ == '__main__':
    event = NameEventspace().event
    name_signal1: NamedEvent = event(" 1！！")  # 这里根据name创建一个信号
    name_signal2: NamedEvent = event(" 2！！")  # 这里根据name创建一个信号
    print(name_signal1.name)
    print(name_signal2.__repr__)

    name_signal: NamedEvent = event(" 3！！")  # 这里其实没有创建新的信号，就是之前的name信号\


    @name_signal.register_subscribe_decorator(sender="N")  # 绑定了订阅者
    def wx_notify_third_inters_error1(sender, **kw):
        print("接收到了1！！！！！！！！！", sender, kw)


    #
    @name_signal.register_subscribe_decorator(sender="NA")  # 绑定了订阅者
    def wx_notify_third_inters_error2(sender, **kw):
        print("接收到了22222222222222！！！！！！！！！", sender, kw)


    ret = name_signal1.send_sync(sender="NA", source={
        "nis": 343452,
        "nis222222222": '以长沙哈哈'
    }, traceback='以长沙哈哈')  # 发送一个信号

    name_signal1: NamedEvent = event("你妹妹2！！")  # 这里根据name创建一个信号


    @name_signal1.register_subscribe_decorator(sender="N")  # 绑定了订阅者
    def wx_notify_third_inters_error1(sender, **kw):
        print("接收到了1！！！！！！！！！", sender, kw)


    #
    @name_signal1.register_subscribe_decorator(sender="NA")  # 绑定了订阅者
    def wx_notify_third_inters_error2(sender, **kw):
        print("接收到了22222222222222！！！！！！！！！", sender, kw)


    name_signal1.send_sync(sender="NA", source={
        "nis": 343452,
        "nis222222222": '以长沙哈哈'
    }, traceback='以长沙哈哈')  # 发送一个信号

    name_signal1: NamedEvent = event("你妹妹！！")  # 这里根据name创建一个信号
    name_signal2: NamedEvent = event("你妹妹！！")  # 这里根据name创建一个信号
    print(id(name_signal1),id(name_signal2))